Amateur Radio enthusiasts who are interested in the LF and MF bands will be familiar with WSPR. Used as a propagation probe or beacon, WSPR allows very weak signals to be detected, frequently as weak as -27dB SNR or lower. However, once you have established that a signal path exists, how then do you hold a QSO?What QSO mode matches WSPR for sensitivity? WSPR is not a QSO mode, and is very slow, so you cast around for something else - to find that no 'chat' modes offer performance anywhere near the -27dB sensitivity of WSPR. Not Morse, PSK31 or even CMSK will reach this sensitivity. Even DominoEX4 will only manage about -18dB SNR. The best offering is JASON, with a sensitivity of about -25dB, but it is
V... E... R... Y...     S... L... O... W... How frustrating!
So, Con ZL2AFP and Murray ZL1BPU decided to do something about this problem - to take on the challenge to design a QSO mode capable of sensitivity performance near that of WSPR, and much faster than JASON: fast enough to allow real QSOs. To do this required a completely new approach. Using a new IFK design with more tones, plus text compression techniques, we have achieved not quite a comfortable 'chat' speed, but at least enough typing speed to allow contact and to exchange information within a few minutes. Novice CW operators have been doing much the same for decades (although not at -25dB SNR!).
The result of our efforts is WSQ - a Weak Signal QSO mode for LF/MF. Like DominoEX, JASON and WSPR, it uses Incremental Frequency Keying (IFK), making it moderately drift-proof and easy to tune. Unlike WSPR, it uses no error correction (DominoEX has already demonstrated clearly that error correction isn't necessary when using slow IFK), and while the baud rate is even slower than WSPR or JASON, each symbol carries much more information, taking the typing speed up to 5 WPM or better.A new sensitive waterfall display is used for tuning. If you can't see to tune a signal, it makes contact fairly difficult. On the WSQ display you can easily see signals at -25dB SNR, making tuning reasonably straightforward, although some patience is required.
So what is WSQ? Well, it...
- Does not use (or need) error correction.
- It uses long integration to defeat impulse noise.
- Is designed specifically for QSOs, i.e. it's a 'chat' mode.
- Is slower and narrower than JASON 'Fast' mode, yet faster printing!
- Sends the most-used characters in only one symbol, about 2s/character.
- Uses Varicoding to give high text efficiency, which can almost double the typing speed.
- Is a modest speed, narrow band QSO mode, intended for VERY weak signals on LF and MF.
- Uses IFK (like JASON, WSPR and DominoEX) to achieve easy tuning, rejection of ISI and tolerance of drift.
- Uses phase coherent MFSK keying so you can transmit it using a typical LF/MF Class C, D or E (non-linear) amplifier without distortion.
WSQ uses 33 tones, spaced 2Hz apart, resulting in a signal bandwidth of 70Hz, including the keying sidebands. The modulation is constant amplitude, phase coherent MFSK, using IFK coding with 32 frequency differences. This means that each symbol carries the equivalent of 5 bits of data, enough for all lower case letters to be expressed in just one symbol, which greatly enhances the speed. (WSPR symbols carry two bits, error coded; JASON symbols carry four bits, but always needs two symbols to send each character; DominoEX has four bits per symbol, and uses one, two or three symbols per character).
Mode Bits Letters (per Symbol) WSQ 5 0.5 - 1 WSPR 2 N/A JASON 4 0.5 DominoEX 4 0.3 - 1The default symbol rate of WSQ is 0.512 baud, or about two seconds per symbol. We call this mode WSQ2. Synchronization is achieved through a voting process similar to JASON, which allows considerable tolerance of speed and sync timing. The design allows for a future GPS 1pps sync option to be considered.Despite the very low symbol rate, the typing speed is remarkable - at least 5 WPM, and potentially up to 7 WPM if the user is cunning, making use of lower case and 'CW-speak' abbreviations.
Varicode
Varicoding (where more commonly used characters are sent in fewer bits than those less often used) is an application of Huffman coding, a technique pioneered by Morse (well before Huffman described it!) and then used in PSK31; it was also used to great advantage in DominoEX. WSQ achieves a higher coding efficiency than PSK31 because there is more information per symbol; and partly because it has available 28 single-symbol characters, which of course are used for the most frequently used letters, 'space', comma, and full-stop (period).If you operate WSQ using standard Morse QSO protocol, lower case text for callsigns, and use upper case sparingly for Q-codes and acronyms, you'll be able to operate at maximum efficiency. Here's an example:
ge om name hr Fred. ur rst 569. loc RF77ee. hw? VK7XYZ de ZL1ABC KThis complete over can be sent in just 88 symbols, and therefore takes under three minutes to send. We are working on more advanced techniques which may speed the mode up even further.
Any test message can be easily analysed to determine how many symbols are required to send the message. This information, combined with knowing the symbol rate, will allow prediction of the typing speed with reasonable accuracy. In this way we can compare the coding efficiencies and even the typing speeds of various modes, even when the symbol rates are different. Here are some examples:Mode Text--> the quick brown fox jumps over the lazy dog Baud Duration WPM Morse 5WPM ~500 symbols ~5.5 ~90 sec 5.0 JASON 2222222222222222222222222222222222222222222 = 86 symbols 0.75 114.7 4.7 DominoEX4 1211221221211211212121222112111121121221212 = 63 symbols 3.91 16.11 8.7 WSQ2 1111111111111111111111111111111111111111111 = 43 symbols 0.512 84.0 5.5Not only is WSQ2 faster than JASON (fast) mode, but it has a slower symbol rate, which gives better sensitivity. It's also very obvious from an information theory point of view that Morse has a much higher symbol rate and therefore much less sensitivity that any of these other modes.
We can also use the same information to compare the number of symbols per word, the transmitted bandwidth and bandwidth efficiency (Hz used per WPM) for these modes:
Mode Symbols/word Bandwidth, Hz Hz/WPM Morse 5WPM ~55 15.0 3.0 JASON 9.55 38.0 8.1 DominoEX4 7.0 74.3 8.5 WSQ2 4.7 70 14.9Clearly WSQ2 is proportionally wider for its speed than the other modes, but a bandwidth of 70Hz is still modest.
The LF and MF Amateur bands are characterized by relatively stable carrier phase on received signals, accompanied by low Doppler shift. These bands have very strong lightning interference, but brief and mostly local, unlike the background of random impulse noise encountered on lower HF. There can also be considerable man-made interference. While there is multi-path reception, especially on 160m, the path changes are slow. The slow fades can be very deep, and signals can be extremely weak, especially on 2200 and 630m, so in order to have a conversation at typing speed on these bands, we need a mode that is extremely sensitive, narrow band, has excellent impulse noise tolerance, but need not have strong phase or Doppler tolerance. The way WSQ handles lightning noises is most impressive. This is due to the way that each symbol is received in a very narrow bandwidth (~2Hz) and integrated over about two seconds, much longer than the duration of a lightning burst.Slow Tones
One good way to achieve robustness and sensitivity is to use very slow single-carrier signals, which can be integrated over a time frame which is much larger than the duration of interference bursts. With very slow signals the bandwidth can then be narrowed (in this case to 2Hz per carrier), further reducing the energy received from wide-band noise sources, and enhancing the sensitivity. Using a two-second 'integrate and dump' type signal detector, based on repeated Fast Fourier Transforms (FFTs), WSQ achieves excellent interference rejection, and the technique also gives incredible sensitivity. Tests have shown that the signal can be detected on the waterfall display at -30dB SNR in 2.4kHz bandwidth, and the software will print recognisable text from about -27dB, becoming 100% reliable at about -25dB. You won't actually hear the signal until it reaches about -15dB!
- This level of performance should allow contact between 100W stations up to 2000km range on 2200m at night
- even further on 630m and 160m.Multiple Tones
The more tones that are used in an MFSK system, the more data is transmitted per tone, and also the better the sensitivity becomes. It is generally believed that this latter advantage continues up to more than 30 different tones, then decreases again. WSPR uses only four tones to send two bits of data (per symbol) - WSQ uses 33 tones to send 5 bits of data per symbol, and in addition to sensitivity, this also contributes to its ease of tuning.Incremental Frequency Keying
IFK is a type of Multi-Frequency Shift Keying (MFSK). The difference is that the data is coded in the difference between tones, rather than by defining the actual tones used. Text is transmitted as groups of codes in the range 0 - 31. The tone numbers to be transmitted are determined by adding each code number to the immediate previously transmitted code number, then adding one. If the result is greater than 32, then 33 is subtracted from the tone number. The resulting tone number is in the range 1 - 33, and is converted using a look-up table into an audio tone for transmission in 1.953125Hz (1/0.512) steps. Audio tones are generated by a sine-wave Numerically Controlled Oscillator (NCO), a type of software synthesizer. The 33 tones used are numbered sequentially from the lowest to the highest, and centred on 1000Hz.Why codes 0 - 31 in the table, 1-32 IFK differences, and yet there are 33 tones? It's a bit like making a fence 10m long with posts every metre - you need 10m of railing, but 11 posts, not 10! In addition, the IFK modulator always adds one to keep the tones in rotation (so repeated '0' symbols don't give a constant tone), but this does not change the number of differences- there are still 33 tones.
The Varicodes
The groups of codes just mentioned are taken from the Varicode Table (see below). The most common letters have just one code number, while all other letters, numbers and punctuation have two code numbers. Three code numbers are used for Lexicon words and for Secondary Text (see later).
WSQ Varicode V3.0
(Click on image for larger view)If you study the table above you will see that the first number of all code groups is always in the range 0 - 15. The most used characters have just one code. Following numbers in a code group (if used) are always in the range 16 - 23. In this way the receiver will always know when a new code starts. We call the first number the Initial Symbol, while the others are called Continuation Symbols, the same nomenclature used for DominoEX. The symbols are expressed as 'x' or 'x,y' to signify initial or initial and continuation codes respectively. However, the alphabet used is not the same as DominoEX, largely because there are more tones (DominoEX uses 18).
At the receiver, when an initial symbol is received directly after a previous initial symbol, the previous one must relate to a single-symbol character, so is looked up in the table and printed, and the new symbol retained for next time. If not, the previous symbol and the new symbol are looked up in the table and printed.
Options
Three different speeds will be offered: the default 0.5 baud (2 sec/symbol), a slower, more sensitive option (0.25 baud, 4 sec/symbol), and a faster 1 baud (1 sec) alternative. There will be no change to the modulation method or tone spacing - all three modes will have 2Hz tone spacing.
Mode Baud Bandwidth Typing Speed ITU Definition WSQ4 0.25 49Hz 3.9/2.8 WPM 49H0F1B WSQ2 0.5 50Hz 7.7/5.5 WPM 50H0F1B * WSQ1 1.0 52Hz 15/11 WPM 52H0F1B
Basic details of the three WSQ modes. * Default ModeTwo typing speeds are shown in the table for each mode. The first is an average for lower case text mixed with CW-practice acronyms and Q codes. The second is for mixed upper/lower case standard text. The program offers symbol rates from 0.25 to 1 baud, the default speed (pink background in the table) being WSQ2, 0.5 baud.
Transmitter Control
The software offers PTT control of a transmitter using the RTS and DTR lines of a serial port in the same manner as most HF digital mode programs. It does not offer CAT control.Two transmit mode options are available. The simplest is to use the computer sound output tones ~1000Hz) to modulate an SSB exciter, in the same way as most HF digital modes operate.
However, the software also sends serial commands out the same port used for PTT control. These commands force an external DDS synthesizer to operate on one of 33 preset frequencies. These frequencies must be pre-defined for the intended frequency of operation, and are synthesizer-specific. ZL1BPU has written a simple spreadsheet which generates the commands for the FEI FE-56xx family of programmable Rubidium Synthesizers. The technique should also work with the ZL1BPU LF Exciter and the N3ZI synthesizer kit. The screenshot below illustrates reception of a weak-signal transmission using the FEI-5650A synthesizer controlled in this manner.
Any signal that you can receive with this software will also be seen clearly on the waterfall tuning display and tuned in easily. The picture on the right shows a -25dB S/N signal clearly visible on the spectrum display, standing out above the background band noise. The scale on the left is in relative dB. The actual level of the background noise is dependent on the receiver and computer gain settings, and is levelled automatically by AGC in the software at about -50dB on the scale.
The screenshot below illustrates reception of a signal at about -25dB S/N in 2.4kHz bandwidth. Notice how the signal on the waterfall display is clearly visible. Whenever the signal is strong enough for the tones to be recognised, the software also 'tags' the tones with a yellow line to make them even more visible.
Screenshot of the ZL2AFP MSK software
(Click on image for full-size view)
In keeping with all ZL2AFP designs, the program is uncomplicated to use, clearly laid out, and devoid of unnecessary features. The software has been thoroughly tested, mostly on the 600m band, over 500km and 2500km paths.Expand the above image to see each of the features described here. At the very top, under the banner, is a simple menu system. Here there are various controls and setup options.
At the top right is a large yellow window - this is the receive text window. You can also cut and paste text from here. Below it, the smaller grey window is the transmit text buffer. Again, you can cut and paste from here. While the transmitter is not running, you can also type ahead and correct what you type with normal Windows editing functions.
At the top left you see the Spectrum Display. This shows the average background noise level, which will be about -50dB on the scale with AGC on, and the signals will stand out visibly above the noise. The bandwidth of each dot on the spectrum is 2Hz, and the span is 941 to 1119 Hz, a span of 1024Hz, centred on 1000Hz.
Below this is the waterfall display, which has exactly the same horizontal span, but shows the received signals over time, as the waterfall moves down, with older signals toward the bottom. When the 'tagging' option is on, each recognised symbol is tagged here with a thin yellow line.
At the very bottom on the left is the S/N (signal to noise) meter, which is calibrated against a simulator to indicate real signal to noise ratios. There is a thin red line at -25dB to indicate the level below which copy will start to deteriorate. The meter has averaging to remove the effect of impulse noise, and even on weak signals you will see the meter pulse up and down as the tones change.
To the right of the meter are the only three controls - the AGC On/Off switch, the Transmit button (TX) and the Receive button (RX). Each of these is dark when not active, and bright when active. The AGC is on by default, and the program starts in Receive.
The Windows™ software is compatible with Win2000, WinXP and Win7. It may work with Vista on some computers. The program requires at least a 1GHz processor, SVGA display and a 16-bit sound card. One serial port (or USB equivalent) is required for PTT control and/or external synthesizer control. Memory requirements are minimal, and the program size is only 213kB. The program consists of just one file, and no changes are made in the computer's registry or anywhere else. To remove the program, simply delete the files made during installation. A setup file is required when using the external synthesizer option.
- Download:
- ZL2AFP WSQ2 transceive program (Release x.y.z)